<template>
  <div>
  	<home-header></home-header>
  	<home-swiper :list="swiperList"></home-swiper>
  	<home-icons :list="iconList"></home-icons>
  	<home-recommend :list="recommendList"></home-recommend>
  	<home-weekend :list="weekendList"></home-weekend>
  </div>
</template>

<script>
import HomeHeader 		from './components/Header'
import HomeSwiper 		from './components/Swiper'
import HomeIcons 			from './components/Icons'
import HomeRecommend 	from './components/Recommend'
import HomeWeekend 		from './components/Weekend'
import axios from 'axios'
import { mapState } from 'vuex'
export default {
  name: 'Home',
  components: {
  	HomeHeader,
  	HomeSwiper,
  	HomeIcons,
  	HomeRecommend,
  	HomeWeekend
  },
  data: function(){
  	return {
      lastCity: '',
  		swiperList: [],
  		iconList: [],
  		recommendList: [],
  		weekendList: []
  	}
  },
  computed: {
    ...mapState({
      city: 'city'
    })
  },
  methods: {
  	getHomeInfo: function(){
  		axios.get('/api/index.json?' + this.city)
  			.then(this.getHomeInfoSucc)
  	},
  	getHomeInfoSucc: function(res){
  		const data = res.data
  		if(res && data.ret){
  			this.swiperList = data.data.swiperList
  			this.iconList = data.data.iconList
  			this.recommendList = data.data.recommendList
  			this.weekendList = data.data.weekendList
  		}
  	}
  },
  mounted: function(){
    this.lastCity = this.city
  	this.getHomeInfo()
  },
  activated: function(){
    if(this.lastCity !== this.city){
      this.getHomeInfo()
    }
    this.lastCity = this.city
  }
}
</script>

<style>

</style>
